# 给定一个 无重复元素 的 有序 整数数组 nums 。
#
#  返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说，nums 的每个元素都恰好被某个区间范围所覆盖，并且不存在属于某个范围但不属于
# nums 的数字 x 。
#
#  列表中的每个区间范围 [a,b] 应该按如下格式输出：
from typing import List


class Solution:
    def summaryRanges(self, nums: List[int]) -> List[str]:
        if not nums:
            return []
        begin = nums[0]
        ans = []
        num = 1
        for i in range(1, len(nums)):
            if nums[i] != begin + num:
                if nums[i - 1] == begin:
                    ans.append(str(begin))
                else:
                    ans.append("{}->{}".format(begin, nums[i - 1]))
                begin = nums[i]
                num = 1
            else:
                num += 1
        if num:
            if nums[-1] == begin:
                ans.append(str(begin))
            else:
                ans.append("{}->{}".format(begin, nums[-1]))
        return ans
